//#define _CRT_SECURE_NO_WARNINGS 1
//#include <iostream>
//#include <vector>
//using namespace std;
//
//int TwoNum(int i)
//{
//	int count_2 = 0;
//	while (i)
//	{
//		if (i % 10 == 2)
//		{
//			count_2++;
//		}
//		i /= 10;
//		if (i == 2)
//		{
//			count_2++;
//		}
//	}
//	return count_2;
//}
//
//int CountNum(int left, int right, vector<int> v1)
//{
//	int count = 0;
//	for (size_t i = left; i <= v1.size(); i++)
//	{
//		count += TwoNum(i);
//	}
//	
//	return count;
//}
//int main()
//{
//	vector<int> v1;
//	int left, right;
//	cin >> left >> right;
//
//	for (size_t i = left; i <= right; i++)
//	{
//		v1.push_back(i);
//	}
//
//	int ret = CountNum(left, right, v1);
//
//	cout << ret;
//}


#include <iostream>
#include<stack>
using namespace std;

int main() {
	string s1;
	cin >> s1;
	stack<char> st1;
	
	int si = 0;
	while (si<s1.size())
	{
		st1.push(s1[si]);
		if (st1.top() == s1[si])
		{
			st1.pop();
			si++;
		}
		si++;
	}

	if (!st1.empty())
	{
		while (!st1.empty())
		{
			char ret = st1.top();
			st1.pop();
			cout << ret;
		}
	}
	else if(st1.empty())
		return 0;

}